1. Technical Field
The present invention relates generally to digital computer systems, and more specifically to a system for processing and displaying informative messages to a user of the computer system.
2. Background Art
Programs running on computer systems must communicate information to a user of the system and to other programs. Large programs, such as operating systems and product applications, have a large number of informative messages which must be communicated to a system operator or a user from time to time.
These messages may simply be informative messages, such as those informing a user that an action has been completed or a resource is now available. Some messages could be considered as warning messages, which inform a user that something is not as expected, such as a file not being in the expected format. Critical messages, or error messages, can be considered to be those messages which inform a user that an attempted action failed, such as an attempt to open a file which did not exist. A significant amount of code in large applications such as operating systems can be dedicated to handling such informative messages.
Messages to be read by a user or operator must be presented in a language understood by that person. These languages are often referred to as "national languages" to distinguish them from programming languages. The message generating code must be written with knowledge of the end user's national language. Changes and updates typically involve recompiling the entire application.
Since different national languages can vary quite significantly in syntax (for example, some national languages read right to left and others read left to right, and grammar varies from language to language), translation can be a time consuming task. In addition, significant changes can be introduced into the source code for the message handling subsystem. Maintenance and support becomes much more difficult for products made available in numerous countries having different national languages when different source code was used to generate that product for each different country. Errors found in one national language version will not necessarily be found in other versions, and updates and changes to the application as a whole becomes more difficult.
It would therefore be desirable to provide a message processing system for larger applications which did not need to be recompiled or re-link-edited for each change. Also, it would be desirable for such a message processing system to gracefully and flexibly handle different national languages without introducing a number of different source code versions.